#ifndef _AFTER_PROTOCOL_USERAPPFLASH_H_
#define _AFTER_PROTOCOL_USERAPPFLASH_H_

#include <stdint.h>

//擦除中断向量表以及用户软件块
//Bootloader所在地址为： ORIGIN = 0x800, LENGTH = 0x6400
//  reset : ORIGIN = 0x0, LENGTH = 0x4
//  ivt   : ORIGIN = 0x4, LENGTH = 0x1FC
//  User  ：ORIGIN = 0x8000, LENGTH = 0x22FEC
// 每次擦除0x400个指令字，实际占用地址为0x800，例如擦除0x0,实际会擦除到0x7ff
void UserFlash_EraseIvtAndUserAppBlock();

//解析Hex文件
//第4、5表示行号，高字节在前
//第6表示数据长度
void UserFlash_DataParseRowSplit(uint8_t *data, uint8_t length);

//解析Hex文件
//0、1表示开头
//2表示类型
//3、4、5表示地址，高字节在前，最高字节无
//6、7、8、9表示数据，低字节在前
void UserFlash_DataParseAddrData(uint8_t *data, uint8_t length);

#endif